/**
 * VIDEO 24 - 26
 *
 * @author wukong(wukonggg@139.com)
 */
package band.wukong.practice.webservice.kh.sample08;

/*

# Section1：的契约优先编写并生成代码

## 核心过程

1. xsd & wsdl
2. wsimport -keep -verbose -d d:/ -encoding utf-8 ./src/main/resources/META-INF/wsdl/kh/sample08-user-wrappered.wsdl
3. 拷贝并修改SEI。编写SIB等相关类
4. wsimport -d d:/ -encoding utf-8 -keep -verbose http://localhost:9000/wkp/webservice/kh/sample08?wsdl
5. 生成的代码作为client


## 代码说明

- sample08-user-wrappered.wsdl      - 主流模式(wrappered based document)。   [[[推荐]]]
- sample08-user-bare.wsdl           - 土匪模式(bare based document)
- sample08-user-rpc.wsdl            - 土鳖模式(rpc)
- sample08-user-mixed.wsdl          - 混合模式(wrappered & bare)

注意：package中生成的代码是基于DOCUMENT的，这也是常用模式。

# Section2：异常处理

# Section3：在Tomcat中发布服务

1. 将wsdl文件夹拷贝到WEB-INF中
2. 导入JAX-RI包
3. 在WEB-INF下创建sun-jaxws.xml
4. 配置web.xml


# Section4：简单的权限控制

1. wsdl。创建element, message, binding
2. 处理header（三种方法）。
  - （最慢）SAAJ。直接创建SOAPBody和SOAPHeader对象，通过Dispatcher传递消息。客户端，可以处理直接处理；但服务器端还没有方法获取Message。
  - （较好）使用SOAPHandler处理（SOAPMessageContext）
  - （web）基于JAX-WS RI的方法（webapp）。Headers.create(element): 可以把一个dom的element转换为header元素



 */